MCS_FLAGS = -debug -nowarn:0169
ASSEMBLY_NAME = OpenNLP
ASSEMBLY = $(ASSEMBLY_NAME).dll

opennlpdir = $(pkglibdir)
opennlp_SCRIPTS = $(ASSEMBLY) $(ASSEMBLY).mdb

ASSEMBLY_REFERENCES = \
	-r:../Lithium/Lithium.dll \
	-r:../SharpEntropy/SharpEntropy.dll

ASSEMBLY_SOURCES = \
	$(srcdir)/Tools/Chunker/ChunkerEventReader.cs \
	$(srcdir)/Tools/Chunker/DefaultChunkerContextGenerator.cs \
	$(srcdir)/Tools/Chunker/EnglishTreebankChunker.cs \
	$(srcdir)/Tools/Chunker/IChunker.cs \
	$(srcdir)/Tools/Chunker/IChunkerContextGenerator.cs \
	$(srcdir)/Tools/Chunker/MaximumEntropyChunker.cs \
	$(srcdir)/Tools/NameFind/DefaultNameContextGenerator.cs \
	$(srcdir)/Tools/NameFind/EnglishNameFinder.cs \
	$(srcdir)/Tools/NameFind/INameContextGenerator.cs \
	$(srcdir)/Tools/NameFind/INameFinder.cs \
	$(srcdir)/Tools/NameFind/MaximumEntropyNameFinder.cs \
	$(srcdir)/Tools/NameFind/NameFinderEventReader.cs \
	$(srcdir)/Tools/Parser/BuildContextGenerator.cs \
	$(srcdir)/Tools/Parser/CheckContextGenerator.cs \
	$(srcdir)/Tools/Parser/ChunkContextGenerator.cs \
	$(srcdir)/Tools/Parser/EnglishHeadRules.cs \
	$(srcdir)/Tools/Parser/EnglishTreebankParser.cs \
	$(srcdir)/Tools/Parser/IHeadRules.cs \
	$(srcdir)/Tools/Parser/IParserChunker.cs \
	$(srcdir)/Tools/Parser/IParserTagger.cs \
	$(srcdir)/Tools/Parser/MaximumEntropyParser.cs \
	$(srcdir)/Tools/Parser/Parse.cs \
	$(srcdir)/Tools/Parser/ParserEventReader.cs \
	$(srcdir)/Tools/PosTagger/DefaultPosContextGenerator.cs \
	$(srcdir)/Tools/PosTagger/EnglishMaximumEntropyPosTagger.cs \
	$(srcdir)/Tools/PosTagger/IPosContextGenerator.cs \
	$(srcdir)/Tools/PosTagger/IPosTagger.cs \
	$(srcdir)/Tools/PosTagger/MaximumEntropyPosTagger.cs \
	$(srcdir)/Tools/PosTagger/PosEventReader.cs \
	$(srcdir)/Tools/PosTagger/PosLookupList.cs \
	$(srcdir)/Tools/PosTagger/PosLookupListWriter.cs \
	$(srcdir)/Tools/SentenceDetect/DefaultEndOfSentenceScanner.cs \
	$(srcdir)/Tools/SentenceDetect/EnglishMaximumEntropySentenceDetector.cs \
	$(srcdir)/Tools/SentenceDetect/IEndOfSentenceScanner.cs \
	$(srcdir)/Tools/SentenceDetect/ISentenceDectector.cs \
	$(srcdir)/Tools/SentenceDetect/MaximumEntropySentenceDetector.cs \
	$(srcdir)/Tools/SentenceDetect/SentenceDetectionContextGenerator.cs \
	$(srcdir)/Tools/SentenceDetect/SentenceDetectionEvent.cs \
	$(srcdir)/Tools/SentenceDetect/SentenceDetectionEventReader.cs \
	$(srcdir)/Tools/Tokenize/EnglishMaximumEntropyTokenizer.cs \
	$(srcdir)/Tools/Tokenize/ITokenizer.cs \
	$(srcdir)/Tools/Tokenize/MaximumEntropyTokenizer.cs \
	$(srcdir)/Tools/Tokenize/TokenContextGenerator.cs \
	$(srcdir)/Tools/Tokenize/TokenEventReader.cs \
	$(srcdir)/Tools/Tokenize/TokenSpanEventReader.cs \
	$(srcdir)/Tools/Util/BeamSearch.cs \
	$(srcdir)/Tools/Util/Cache.cs \
	$(srcdir)/Tools/Util/HashSet.cs \
	$(srcdir)/Tools/Util/IBeamSearchContextGenerator.cs \
	$(srcdir)/Tools/Util/IHeap.cs \
	$(srcdir)/Tools/Util/ListHeap.cs \
	$(srcdir)/Tools/Util/Pair.cs \
	$(srcdir)/Tools/Util/Sequence.cs \
	$(srcdir)/Tools/Util/Set.cs \
	$(srcdir)/Tools/Util/SortedSet.cs \
	$(srcdir)/Tools/Util/Span.cs \
	$(srcdir)/Tools/Util/StringTokenizer.cs \
	$(srcdir)/Tools/Util/TreeHeap.cs \
	$(srcdir)/Tools/Util/TreeSet.cs

$(ASSEMBLY): $(ASSEMBLY_SOURCES)
	$(MCS) $(MCS_FLAGS) -target:library -out:$@ $(ASSEMBLY_REFERENCES) $(ASSEMBLY_SOURCES)

EXTRA_DIST = \
	$(ASSEMBLY_SOURCES)

CLEANFILES = $(ASSEMBLY) *.dll *.exe
DISTCLEANFILES = *.mdb
MAINTAINERCLEANFILES = Makefile.in
